package com.xj.common.bussiness.handCertificateBasic.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

import static org.springframework.format.annotation.DateTimeFormat.ISO.DATE;

/**
 * <p>
 * 
 * </p>
 *
 * @author Hmemb
 * @since 2017-11-18
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("tb_hand_certificate_basic_info")
public class TbHandCertificateBasicInfo extends Model<TbHandCertificateBasicInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
	@TableId(value="id", type= IdType.AUTO)
	private Integer id;
    /**
     * 操作证类型（有1,2,3对应操作证、评估师证、维修技师证）
     */
	@TableField(value="certificate_type")
	private String certificateType;
    /**
     * 机械类型（1-9对应挖掘机、装载机、矿用自卸车、推土机、压路机、平地机、混凝土机械、桩工机械、凿岩机械）
     */
	@TableField(value="machinery_type")
	private String machineryType;
    /**
     * 证件级别（1-4对应初级、中级、高级、专家级）
     */
	@TableField(value="certificate_level")
	private String certificateLevel;
    /**
     * 姓名
     */
	private String name;
    /**
     * 性别（0-女，1-男）
     */
	private String sex;
    /**
     * 身份证号
     */
	@TableField(value="identity_num")
	private String identityNum;
    /**
     * 出生日期
     */
	@DateTimeFormat(iso = DATE)
	private Date birthday;
    /**
     * 受教育水平（1-9对应小学、初中、初中中专、高中、高中中专、大专、本科、硕士研究生、博士研究生）
     */
	@TableField(value="education_level")
	private String educationLevel;
    /**
     * 公司名称
     */
	@TableField(value="company_name")
	private String companyName;
    /**
     * 籍贯
     */
	private String origin;
    /**
     * 住址
     */
	private String address;
    /**
     * 手机号码
     */
	private String phone;
    /**
     * 邮箱
     */
	private String email;
    /**
     * 工作年限
     */
	@DateTimeFormat(iso = DATE)
	@TableField(value="work_time")
	private Integer workTime;
    /**
     * 证书有效开始时间
     */
	@TableField(value="start_cer_date")
	@DateTimeFormat(iso = DATE)
	private Date startCerDate;
    /**
     * 证书有效结束时间
     */
	@DateTimeFormat(iso = DATE)
	@TableField(value="end_cer_date")
	private Date endCerDate;
    /**
     * 培训开始时间
     */
	@DateTimeFormat(iso = DATE)
	@TableField(value="start_train_date")
	private Date startTrainDate;
    /**
     * 培训结束时间
     */
	@DateTimeFormat(iso = DATE)
	@TableField(value="end_train_date")
	private Date endTrainDate;
    /**
     * 培训内容
     */
	@TableField(value="train_content")
	private String trainContent;
    /**
     * 备注信息
     */
	private String remark;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getCertificateType() {
		return certificateType;
	}

	public void setCertificateType(String certificateType) {
		this.certificateType = certificateType;
	}

	public String getMachineryType() {
		return machineryType;
	}

	public void setMachineryType(String machineryType) {
		this.machineryType = machineryType;
	}

	public String getCertificateLevel() {
		return certificateLevel;
	}

	public void setCertificateLevel(String certificateLevel) {
		this.certificateLevel = certificateLevel;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getIdentityNum() {
		return identityNum;
	}

	public void setIdentityNum(String identityNum) {
		this.identityNum = identityNum;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getEducationLevel() {
		return educationLevel;
	}

	public void setEducationLevel(String educationLevel) {
		this.educationLevel = educationLevel;
	}

	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public String getOrigin() {
		return origin;
	}

	public void setOrigin(String origin) {
		this.origin = origin;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Integer getWorkTime() {
		return workTime;
	}

	public void setWorkTime(Integer workTime) {
		this.workTime = workTime;
	}

	public Date getStartCerDate() {
		return startCerDate;
	}

	public void setStartCerDate(Date startCerDate) {
		this.startCerDate = startCerDate;
	}

	public Date getEndCerDate() {
		return endCerDate;
	}

	public void setEndCerDate(Date endCerDate) {
		this.endCerDate = endCerDate;
	}

	public Date getStartTrainDate() {
		return startTrainDate;
	}

	public void setStartTrainDate(Date startTrainDate) {
		this.startTrainDate = startTrainDate;
	}

	public Date getEndTrainDate() {
		return endTrainDate;
	}

	public void setEndTrainDate(Date endTrainDate) {
		this.endTrainDate = endTrainDate;
	}

	public String getTrainContent() {
		return trainContent;
	}

	public void setTrainContent(String trainContent) {
		this.trainContent = trainContent;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Override
	public String toString() {
		return "TbHandCertificateBasicInfo{" +
				"id=" + id +
				", certificateType='" + certificateType + '\'' +
				", machineryType='" + machineryType + '\'' +
				", certificateLevel='" + certificateLevel + '\'' +
				", name='" + name + '\'' +
				", sex='" + sex + '\'' +
				", identityNum='" + identityNum + '\'' +
				", birthday=" + birthday +
				", educationLevel='" + educationLevel + '\'' +
				", companyName='" + companyName + '\'' +
				", origin='" + origin + '\'' +
				", address='" + address + '\'' +
				", phone='" + phone + '\'' +
				", email='" + email + '\'' +
				", workTime=" + workTime +
				", startCerDate=" + startCerDate +
				", endCerDate=" + endCerDate +
				", startTrainDate=" + startTrainDate +
				", endTrainDate=" + endTrainDate +
				", trainContent='" + trainContent + '\'' +
				", remark='" + remark + '\'' +
				'}';
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}


}
